Playbook — sartUP (sviluppo diretto su VPS cPanel)
Playbook — sartUP (sviluppo diretto su VPS cPanel)
> Sequenza operativa ripetibile per sviluppare l'applicazione Admin direttamente sul VPS con cPanel: login esterno, RBAC (Spatie), menu dinamico e placeholder Industria 4.0. > Usalo in Cursor come lista di task (uno dopo l'altro).
---
0) Requisiti
- VPS con cPanel configurato
- PHP 8.2+, Composer 2.7+, Node 20+
- Dominio
sartup.itcon SSL/TLS attivo (AutoSSL cPanel) - Database MySQL e utente creati in cPanel
- File MD di riferimento (ordine): 1.
- [ ] Clona repo nella directory pubblica di cPanel (es.
public_html/sartup) - [ ] Copia
.env.example→.env - [ ] Configura
.env(DB_HOST, DB_DATABASE, DB_USERNAME, DB_PASSWORD, APP_URL=https://sartup.it) - [ ]
composer install - [ ]
php artisan key:generate
Esito atteso: app risponde su - [ ]
php artisan migrate - [ ]
php artisan db:seed --class=RolesSeeder - [ ]
php artisan db:seed --class=SuperAdminSeeder
Esito atteso: utente - [ ]
php artisan db:seed --class=MenuSeeder
Esito atteso: topbar con Dashboard, Industria 4.0, Servizio (solo super-admin) - [ ] Apri
/logine accedi come super-admin - [ ] Se l’utente ha >1 ruolo → scegli ruolo attivo (pagina select-role) Esito atteso: redirect a
- [ ] Verifica login esterno (layout
auth1/3–2/3) - [ ] Verifica admin layout (topbar: logo+L1 a sx, profilo a dx)
- [ ] Verifica sidebar 3 livelli + breadcrumb + titolo modulo Esito atteso: breadcrumb coerente con il menù; pagina “Elenco macchine collegate” caricata
- [ ]
php artisan storage:link - [ ] Configura cron job in cPanel per
php artisan schedule:run(ogni minuto) - [ ] Se usi Redis/Horizon: configura supervisord o usa
php artisan queue:workin background - [ ] Se usi S3/MinIO: verifica bucket
sartupe configurazione.env(AWS_*)
Esito atteso: storage collegato; code operative (se configurate) - [ ] Conferma rotta
/admin/i40/machines/connected(view placeholder) - [ ] (Fac.) Aggiungi rotte mock:
/devices/enroll,/devices/heartbeat
Esito atteso: viste caricano; mock rispondono - [ ] Login / Logout / Forgot funzionano
- [ ] Servizio → Configurazione menù CRUD ok (solo super-admin)
- [ ] RBAC: un utente operator non vede “Servizio” Esito atteso: tutti i check verdi
- [ ]
php artisan config:cache(cache configurazione) - [ ]
php artisan route:cache(cache rotte) - [ ]
php artisan view:cache(cache viste) - [ ] Verifica permessi:
storage/ebootstrap/cache/scrivibili (775) - [ ] Controlla log:
storage/logs/laravel.logper errori
Esito atteso: app ottimizzata e funzionante in produzione - Lavori direttamente sul VPS: niente Docker, niente deploy separato
- Prima di iniziare: segui
Setup_VPS.mdper setup iniziale - Mantieni ordine dei file MD: 1 → 5
- Applica gli snippet come file nella struttura cartelle proposta (menu-oriented)
- Usa commit piccoli e descrittivi (es.
feat(auth): native login,feat(menu): seed + crud,feat(rbac): spatie integration) - Comandi artisan vanno eseguiti da terminale SSH o tramite "Terminal" di cPanel
- Testa direttamente su
https://sartup.itdopo ogni modifica
sartUP_setup_blade_spatie_native_auth.md (setup iniziale Laravel + auth)
2. sartUP_UI_Spec.md (specifiche UI/UX)
3. sartUP_menu_oriented_container.md (architettura menu)
4. sartUP_agent_env_cursor.md (configurazione ambiente)
5. Setup_VPS.md (guida setup VPS cPanel - LEGGERE PRIMA)---
1) Bootstrap progetto
https://sartup.it---
2) Database & ruoli
root@sartup.local con ruolo super-admin creato---
3) Menu dinamico (seed iniziale)
---
4) Autenticazione
/admin con topbar + sidebar attive---
5) UI vincolanti
---
6) Servizi ausiliari
---
7) Endpoint mock Industria 4.0
200---
8) QA rapido
---
9) Ottimizzazione finale e verifica produzione
---